#include <iostream>
#include <string>
#include <stdio.h>

using namespace std;

int main()
{
    string s1("hello world");
    string s2(s1);
    // 在修改之前指向同一个地址
    printf("%p\n",s1.c_str());
    printf("%p\n",s2.c_str());
    
    s2[0]++;

    // 在修改之后，被修改的对象发生写时拷贝，真正进行拷贝的操作
    printf("%p\n",s1.c_str());
    printf("%p\n",s2.c_str());

    return 0;
}
